/**
  * Author: Mei
  * Date: 2020-10-16 20:52
  * Description：输入输出和流对象
  *
  */
#include <iostream>
#include <iomanip>

using namespace std;

int main() {
    int arr[5];
    int n;
    cin >> n;
    for (int i = 0; i < 5; i++) { //连续输入（会直接从缓冲区中取数据）和一个个的输出
        cin >> arr[i];
        cout << arr[i] << endl; //后执行
    }
    cerr.flush();  //输出流中的所有数据，刷新缓冲区  先执行
    /**
     * 数据流对应缓冲区
     * 1、在内存中为每一个数据流开辟一个内存缓冲区
     * 2、缓冲区用来存放流中的数据，缓冲区中的数据就是流
     * 3、在C++中，输入输出流被定义为类，C++的I/O库中类称为流类
     *
     */


    /**
     * 输出流cout(console output)和cerr流、clog
     * cerr流对象是标准错误流，被指定为显示器关联
     * cout流通常是传送到显示器输出，但也可以被重定向输出到磁盘文件
     * cerr流中信息只能在显示器输出
     *
     * clog流对象也是标准错误流，作用与cerr相同
     * 区别：cerr是不经过缓冲区，直接向显示器输出有关信息
     *       clog中的信息存放在缓冲区中，缓冲区满后或遇到endl时向显示器输出
     *
     */
    //int c = 24;
    //cout.setf(ios::oct);
    //cout << c << endl;
    //
    //int a;
    //cout << "input a:";
    //cin >> a;
    //cout << "hex:" << hex << a << endl;
    //cout << "oct:" << oct << a << endl;
    //cout << "dec:" << dec << a << endl;
    //char *pt = "China";
    //cout << setw(10) << pt << endl;
    //cout << setfill('*') << setw(10) << pt << endl;
    //double d = 225.0 / 7;
    //cout << "d=" << d << endl;
    //cout << "d=" << setprecision(4) << d << endl;
    //cout << "d=" << setiosflags(ios::fixed) << d << endl;
    //cout << setprecision(5) << d << endl;
    //cout << "d=" << setiosflags(ios::fixed) << setprecision(5) << d << endl; //固定小数点后五位
    ////流成员函数
    //
    //cout.setf(ios_base::showpos);
    //cout << 255 << endl;

    //char *a = "BASIC";
    //for (int i = 4; i >= 0; i--) {
    //    cout.put(*(a + i));
    //}


    return 0;
}